package gamePack.main;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class Score {

	protected int scores[] = new int[6];
	// Colocar direccion donde estara el .txt en caso de queres compilar.
	 protected String path = "C:\\Users\\Kottler\\Desktop\\pack\\Highscores.txt";
//	protected String path = "Highscores.txt";

	File tempFile = new File(path);

	/**
	 * Carga el archivo de puntajes maximos y los guarda en un arreglo.
	 */
	public void loadFile() {

		Scanner readFile = null;
		try {
			readFile = new Scanner(tempFile);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		int counter = 0;
		while (readFile.hasNextLine()) {
			scores[counter] = Integer.parseInt(readFile.next());
			if (readFile.hasNextLine())
				readFile.nextLine();
			counter++;
		}
	}

	/**
	 * Agrega el puntaje al .txt de puntajes en caso de ser mayor que alguno de
	 * los ya existentes.
	 * 
	 * @param score
	 */
	public void saveFile(int score) {

		scores[5] = score;

		boolean seguir = true;
		int pos = 4;
		int aux;
		while (seguir && pos >= 0) {
			if (scores[pos] < scores[pos + 1]) {
				aux = scores[pos];
				scores[pos] = scores[pos + 1];
				scores[pos + 1] = aux;
				pos--;
			} else
				seguir = false;
		}

		BufferedWriter out = null;
		try {
			out = new BufferedWriter(new FileWriter(path, false));
		} catch (IOException e) {
			e.printStackTrace();
		}
		for (int i = 0; i < scores.length - 1; i++) {
			try {
				out.write(Integer.toString(scores[i]));
				out.newLine();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		try {
			out.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public int[] getScores() {
		return scores;
	}

}
